//
//  YsUploadManager.h
//  YsCloudFileManageSDK
//
//  Created by 宋宏康 on 2020/2/25.
//  Copyright © 2020 YJTSuper. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YsSingleton.h"
#import "YsDocUploadModel.h"
#import "YsFileUtil.h"
#import <MJExtension/MJExtension.h>
#import "YsGlobalConst.h"
#import <AFNetworking/AFNetworking.h>
#import <YYKit/YYKit.h>
#import "YsCloudFileManagerHeader.h"
#import "YsCloudFileManageSDKServer.h"
#import "YsNetWorkManage.h"
#import "YsCloudFileManagerHeader.h"
#import "YsResultModel.h"
#import "YsCloudFileHashManager.h"
#import "YsCloudFileManageSDKRealm.h"
#import <YsCloudFileRealmManager.h>
#import "YsCloudFolderManager.h"
#import "YsCloudRealmTool.h"
#import "YsCloudFileUploadReamModel.h"
@class YsDocUploadModel;
@interface YsUploadManager : NSObject
//SingletonH(YsUploadManager);

+ (instancetype)shareYsUploadManager;

@property (nonatomic, strong) NSMutableArray <YsDocUploadModel *> *modelArray;

- (void)refreshCaches;

- (void)cancelAllUploadOperations;

/**
 续传
 @param model 保存的数据模型
 */
- (void)continueUploadWithModel:(YsDocUploadModel *)model;

/// 上传完成的接口
/// @param model 上传的任务
- (void)uploadFinishWithModel:(YsDocUploadModel *)model;

/**
 清理所有上传文件缓存
 */
- (void)clean;

/**
 移除某一个文件,对应上传列表手动左滑删除以及上传成功后自动删除
 */
- (void)removeUploadModel:(YsDocUploadModel *)model;

/**
 清理所有上传文件
 */
- (void)removeAll;

/**
  清理指定文件缓存

 @param filePath 文件路径
 */
- (void)cleanPath:(NSString *)filePath;

/// 最大线程数 默认最大并发数4
@property (nonatomic, assign) int maxUploadTaskCount;
/// AFN管理者
@property (nonatomic, strong) AFHTTPSessionManager *manager;
@end
